package com.hzncc.scaffold.entity.Other;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 课程表
 * </p>
 *
 * @author DrunkBear
 * @since 2022-04-27
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Course implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 编号
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 标题
     */
    private String title;

    /**
     * 封面
     */
    private String cover;

    /**
     * 教师
     */
    private String teacher;

    /**
     * 教师信息
     */
    @TableField("teacherInfo")
    private String teacherInfo;

    /**
     * 课程信息
     */
    @TableField("courseInfo")
    private String courseInfo;

    /**
     * 验证
     */
    private String authentation;

    /**
     * 发布人编号
     */
    @TableField("publisherId")
    private Integer publisherId;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 发布时间
     */
    @TableField("pubTime")
    private String pubTime;

    /**
     * 加入人数
     */
    @TableField("joinedNum")
    private Integer joinedNum;

    /**
     * 创建时间
     */
    @TableField("createTime")
    private String createTime;

    /**
     * 置顶
     */
    @TableField("stayAtTop")
    private Integer stayAtTop;

    /**
     * 排序时间
     */
    @TableField("sortTime")
    private String sortTime;

    /**
     * 逻辑删除
     */
    @TableField("isDelete")
    private Integer isDelete;

    /**
     * 是否免费
     */
    @TableField("isFree")
    private Boolean isFree;

    /**
     * 证书模板
     */
    @TableField("certTemplate")
    private String certTemplate;

    /**
     * 设置宽度
     */
    @TableField("setWidth")
    private Integer setWidth;

    /**
     * 设置高度
     */
    @TableField("setHeight")
    private Integer setHeight;

    /**
     * 证书各参数坐标
     */
    private String coordinate;

    /**
     * 是否是题库训练课程 0/否 1/是
     */
    @TableField("isQuestionLibExercise")
    private Integer isQuestionLibExercise;

    @TableField(exist = false)
    private Integer majorsPid;


    @TableField(exist = false)
    private List<Chapter> chapters;


    @TableField(exist = false)
    private Integer questionCount;


    @TableField(exist = false)
    private Integer singleCount;


    @TableField(exist = false)
    private Integer multiCount;


    @TableField(exist = false)
    private Integer judgeCount;


    @TableField(exist = false)
    private Integer examTime;


    @TableField(exist = false)
    private Integer totalScore;


    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String examStart;

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private String examEnd;













}
